《鳥哥 Linux 私房菜:基礎篇》Chapter 04 - 首次登入與線上求助


  • 第一篇:Linux 的規劃與安裝
    • Chapter 00 計算機概論
    • Chapter 01 Linux 是什麼與如何學習
    • Chapter 02 主機規劃與磁碟分割
    • Chapter 03 安裝 CentOS7.x
    • Chapter 04 首次登入與線上求助
  • 第二篇:Linux 檔案、目錄與磁碟格式
  • 第三篇:學習 Shell 與 Shell Scripts
  • 第四篇:Linux 使用者管理
  • 第五篇:Linux 系統管理員

4.1 首次登入系統

我們走 Terminal 路線,沒有圖行介面,用終端機切換使用者,從 root 切換到 sunny。

  1. whoami 現在 user 為何人
  2. su ~username~ 切到另一個 user

4.2 文字模式下指令的下達

文字模式登入後所取得的程式,被稱為殼(Shell),Linux 的殼程式就是厲害的 bash!

4.2.1 開始下達指令

$ command [-options] parameter1 parameter2 ...

  • 一行指令中第一個輸入:「指令(command)」或「可執行檔案(如 script)」
  • 中括號 []:並不存在實際指令中,如 -h / --help
  • parameter1 parameter2:吸附在選響後的參數,或者是 command 參數
  • 空格:不論空幾格,shell 都視為一格
[sunny@li1676-99 root]$ ls -al ~
[sunny@li1676-99 root]$ ls           -al     ~
[sunny@li1676-99 root]$ ls -a  -l ~

三個的結果是一模一樣的,因為空格視為一格。

4.2.2 基礎指令的操作

  • 顯示日期與時間:date
  • 顯示日曆:cal(可接的語法為 cal [month] [year]
  • 簡單好用的計算機:bc(+ 加, - 減, * 乘, / 除, ^ 指數, % 餘數 , quit 離開計算機

什麼! bc: command not found 了怎麼辦?

  1. $su root:切換回 root
  2. $yum -y install bc:安裝 bc
  3. $bc:再測試看看應該就有囉
    P.S. 記得切回原本的 user 哦!

指令模式下達指令時,有兩種主要情況:

  • 該指令直接顯示結果,回到命令提示字元,等待下一個指令的輸入
  • 進入到該指令的環境,直到結束該指令,才回到命令提示字元

4.2.3 重要的幾個熱鍵 [tab], [ctrl]-c, [ctrl]-d

  • [tab]:命令補全、檔案補齊的功能
    • command 後面時,是「命令補全」,如 ca[tab][tab]
    • 第二個字之後,是「檔案補齊」,如 ls -al ~/.bash[tab][tab]
    • 某些特殊情況,檔案補齊功能可能會變成「參數/選項補齊」,如 date --[tab][tab](要安裝 bash-completion 軟體)
  • [ctrl]-c:中斷目前程式
  • [ctrl]-d:鍵盤輸入結束
  • [shift] + {[Page Up]} / {[Page Down]}:翻頁

4.2.4 錯誤訊息的查看

[sunny@li1676-99 root]$ DATE
bash: DATE: command not found ### command 找不到

學會讀懂錯誤訊息~


4.3 Linux 系統的線上求助 man page 與 info page

[sunny@li1676-99 root]$ g[tab][tab]
Display all 103 possibilities? (y or n)

g 就有 103 個可能性了,背嗎?洋洋灑灑幾千個指令怎麼背呀!因此,主要在於理解「在什麼情況下,應該要使用哪方面的指令」,那我們怎麼查閱呢?

4.3.1 指令的 --help 求助說明

如果是指令,--help 可以很快速地取得選項、參數的說明。但如果你要使用的是從來沒有用過的指令,或是根本不是指令,而是檔案的「格式」時,那就得透過 man page。

4.3.2 man page

man:manual(操作說明)的簡寫。(空白鍵翻頁,q 離開)

輸入指令 man date,你會看到如下圖的畫面,稱為 man page,這裡可以找到你大多需要的資料。

其中左上角的 DATE(1) 後面的 (1) 代表什麼呢?有 2, 3, 4... 嗎?有的!

  • (1):使用者在 shell 環境中可以操作的指令或可執行檔
  • (2):系統核心可呼叫的函數與工具等
  • (3):一些常用的函數(function)與函式庫(library),大多為 C 的函式庫(libc)
  • (4):裝置檔案的說明,通常在 /dev 下的檔案
  • (5):設定檔或是某些檔案的格式
  • (6):遊戲
  • (7):慣例與協定等,如 Linux 檔案系統、網路協定、ASCII code 等說明
  • (8):系統管理員可用的管理指令
  • (9):跟 kernel 有關的文件

上述內容可用 man man 來取得更詳細的說明。

基本上 man page 分成以下幾個部分:

  1. NAME:簡短的指令、資料名稱說明
  2. SYNOPSIS:簡短的指令下達語法(syntax)簡介
  3. DESCRIPTION:較為完整的說明(這部分最好仔細看看)
  4. OPTIONS:針對 SYNOPSIS 部分中,有列舉的所有可用的選項說明
  5. COMMANDS:當這個程式(軟體)在執行的時候,可以在此程式(軟體)中下達的指令
  6. FILES:這個程式或資料所使用或參考或連結到的某些檔案
  7. SEE ALSO:可以參考的,跟這個指令或資料有關的其他說明
  8. EXAMPLE:一些可以參考的範例

4.3.3 info page

  • info 與 man 的用途差不多,輸出格資訊不同
  • info page 將文件拆成一個一個段落,每個段落用自己的頁面來撰寫,並且每個頁面種有類似網頁的超連結來跳到不同的頁面中,每個獨立頁面被成為一個節點(node)。

輸入 $info info 指令

4.3.4 其他有用文件

一般而言,指令或軟體製作者,會將說明書做成「線上說明文件」,會放在 /usr/share/doc 目錄。


4.4 超簡單文書編輯器:nano

輸入指令 $nano text.txt


資料來源

鳥哥的 Linux 私房菜: http://linux.vbird.org/linux_basic/

#鳥哥的 Linux 私房菜 #linux







你可能感興趣的文章

爬蟲閱讀紀錄

爬蟲閱讀紀錄

What Type of Laser Engraving Machine Should be Used for Stainless Steel Engraving?

What Type of Laser Engraving Machine Should be Used for Stainless Steel Engraving?

SQL-injection lab(2)

SQL-injection lab(2)






留言討論